#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>

//struct St
//{
//	int i;
//	char c;
//	int* a;
//};
//
//int main()
//{
//	struct St* pa = (struct St*)malloc(sizeof(struct St));
//	if (pa == NULL)
//	{
//		perror("malloc");
//		return 1;
//	}
//	pa->c = 'w';
//	pa->i = 4;
//
//	pa->a = malloc(10*sizeof(int));
//
//	if(pa->a == NULL)
//	{
//		perror("malloc");
//		return 1;
//	}
//
//	int i = 0;
//
//	for (i = 0;i < 10;i++)
//	{
//		pa->a[i] = i;
//	}
//	for (i = 0; i < 10; i++)
//	{
//		printf("%d ",pa->a[i]);
//	}
//
//	printf("\n%d\n",pa->i );
//	printf("%c\n", pa->c);
//
//
//	int * ps = (int*)realloc(pa->a,15*sizeof(int));
//	if (ps == NULL)
//	{
//		perror("realloc");
//		return 1;
//	}
//	pa->a = ps;
//
//	for (i = 0; i < 15; i++)
//	{
//		pa->a[i] = i;
//	}
//	for (i = 0; i < 15; i++)
//	{
//		printf("%d ", pa->a[i]);
//	}
//	printf("\n%d\n", pa->i);
//	printf("%c\n", pa->c);
//
//
//
//	free(pa->a);
//	pa->a;
//
//	free(pa);
//	pa = NULL;
//
//	return 0;
//}

//struct St
//{
//	int i;
//	char c;
//	int a[];
//};
//
//int main()
//{
//	int i = 0;
//	struct St* pa = (struct St*)malloc(sizeof(struct St) + 10*sizeof(int));
//	if (pa == NULL)
//	{
//		perror("malloc");
//		return 1;
//	}
//	pa->c = 'w';
//	pa->i = 4;
//	for (i = 0;i < 10;i++)
//	{
//		pa->a[i] = i;
//	}
//
//	for (i = 0; i < 10; i++)
//	{
//		printf("%d ",pa->a[i]);
//	}
//
//	printf("\n%d\n",pa->i );
//	printf("%c\n",pa->c );
//
//
//	struct St* ps = realloc(pa,sizeof(struct St) + 15*sizeof(int));
//	if (ps == NULL)
//	{
//		printf("realloc");
//		return 1;
//	}
//	pa = ps;
//
//	for (i = 0; i < 15; i++)
//	{
//		pa->a[i] = i;
//	}
//
//	for (i = 0; i < 15; i++)
//	{
//		printf("%d ", pa->a[i]);
//	}
//
//	printf("\n%d\n", pa->i);
//	printf("%c\n", pa->c);
//
//	free(pa);
//	pa = NULL;
//
//	return 0;
//}



//int main()
//{
//	FILE* pf = fopen("E:\\c-language\\test_4_21\\data.txt","w");
//
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//
//	for (int i = 0;i <10;i++)
//	{
//		fputc('a'+1, pf);
//		fputc('\n',pf);
//	}
//
//	fclose(pf);
//
//
//	return 0;
//}


//int main()
//{
//	FILE* pfread = fopen("data1.txt","r");
//	if (pfread == NULL)
//	{
//		perror("fopen->data1");
//		return 1;
//	}
//
//	FILE* pfwrite = fopen("data2.txt","w");
//	if (pfwrite == NULL)
//	{
//		fclose(pfread);
//		pfread == NULL;
//		perror("fopen->data2");
//		return 1;
//	}
//
//	int pc = 0;
//	while ((pc = fgetc(pfread)) != EOF)
//	{
//		fputc(pc,pfwrite);
//	}
//
//	fclose(pfread); 
//	pfread == NULL; 
//
//	fclose(pfwrite);
//	pfwrite == NULL;
//
//
//	return 0;
//}



//int main()
//{
//	FILE* pf = fopen("data1.txt","r");
//
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//
//	char arr[20] = "*******************";
//
//	fgets(arr,10,pf);
//
//	fclose(pf);
//	pf = NULL;
//	return 0;
//}


//int main()
//{
//	struct Su
//	{
//		int age;
//		char name[20];
//		float hight;
//	};
//
//	struct Su s1 = {0};
//
//	FILE * pf = fopen("data.txt","r");
//
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//
//	fscanf(pf,"%d %s %f",&(s1.age) ,s1.name ,&(s1.hight));
//
//	fprintf(stdout, "%d %s %.2f", s1.age, s1.name, s1.hight);
//
//	fclose(pf);
//	pf = NULL;
//
//	return 0;
//}
//int main()
//{
//	struct Su
//	{
//		int age;
//		char name[20];
//		float hight;
//	};
//
//	struct Su s1 = {18,"wangwu",1.80};
//
//	FILE* pf = fopen("data.txt", "wb");
//
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//
//	fwrite(&s1,sizeof(s1),1,pf);
//
//	fclose(pf);
//	pf = NULL;
//
//	return 0;
//}


//int main()
//{
//	struct Su
//	{
//		int age;
//		char name[20];
//		float hight;
//	};
//
//	struct Su s1 = {0};
//
//	FILE* pf = fopen("data.txt", "rb");
//
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//
//	fread(&s1, sizeof(s1), 1, pf);
//	printf("%d %s %f",s1.age ,s1.name ,s1.hight );
//
//	fclose(pf);
//	pf = NULL;
//
//	return 0;
//}



int main()
{
	FILE* pf = fopen("data.txt","w");
	if (pf == NULL )
	{
		perror("fopen");
		return 1;
	}
	int ch = fgetc(pf);


	fclose(pf);
	pf = NULL;
	return 0;
}